www.gusucode.com > matlab从零到进阶程序与数据 > matlab从零到进阶程序与数据/第5章 图形用户界面(GUI)编程/ex54_4.m

    function ex54_4
%创建界面窗口,不包含工具条
h0=figure('toolbar','none',...
    'position',[200 150 450 250],...
    'name','ex54_4',...
    'numbertitle','off');
%在窗口中绘制正弦曲线
global h
x=0:0.5:2*pi;
y=sin(x);
h=plot(x,y);
grid on
%创建静态文本控件
hm=uicontrol(h0,'style','text',...
    'string',...
    '绘图函数',...
    'position',[380 180 50 20]);
%创建弹出式菜单控件,并初始化其string属性值
hm=uicontrol(h0,'style','popupmenu',...
    'string',...
    'sin(x)|cos(x)|sin(x)+cos(x)',...
    'position',[380 150 50 20]);
%设置弹出式菜单的第一项为默认选项
set(hm,'value',1)
%设置弹出式菜单的callback属性值
set(hm,'callback',{@popupmenu_callback,x})
%设置坐标轴的位置和大小,坐标轴对象的units属性缺省值为normalized
set(gca,'position',[0.2 0.2 0.6 0.6])

%定义弹出式菜单的callback,为子函数
function popupmenu_callback(hobj,event,x)
global h
v=get(hobj,'value');
switch v
    case 1
        delete(h);
        y=sin(x);
        h=plot(x,y);
        grid on
    case 2
        delete(h);
        y=cos(x);
        h=plot(x,y);
        grid on
    case 3
        delete(h);
        y=sin(x)+cos(x);
        h=plot(x,y);
        grid on
end